Ownership von Ordner und Unterordner auf User übertragen
Hallo zusammen,
aktuell sitze ich an einer echten Nuss für mich...
Per Powershellscript soll das Umbenennen von AD Useraccounts automatisiert werden.
Also wenn eine Person heiratet, geschieden etc.
Die Änderungen sollen sowohl am AD-Objekt, den Stammdaten, als auch den Userbezogenen Verzeichnissen für Users und Profiles gemacht werden.
Funktionieren tut bereits die Umbenennung des AD-Objekts, die Änderung der relevanten Stammdaten im AD-Account als auch des Windowsusernamens.
Ebenfalls funktioniert den Users sowie Profiles Ordner vom alten Usernamen auf den neuen umzuschreiben, sowie den neuen Usernamen mit Vollzugriff zu hinterlegen. Alles natürlich nach Übernahme von Ordnerbesitz und Besitzübernahmen von Unterordner und Dateien durch "Administrators" per SetOwner als auch als auch takeown.
Meine Problematik besteht jetzt im "Zurückschieben" des Ordnerbesitzes des Hauptverzeichnisses als auch der Unterordner und Dateien. Denn nach Abschluss der Arbeiten soll der Owner natürlich nur der neue Username sein.
Takeown funktioniert hier ja leider nicht, da das ja nur mit Administrators funktioniert.
Dann habe ich folgendes versucht
was zu einer Meldung geführt hat "powershell exception calling set owner with 1 argument. Some or all enteties could not be found"
Dann hatte ich noch gelesen das man in diesem Fall über die SID den neuen User auslesen soll und diesen dann als Owner eintragen. Da dieser dann autom. in den normal lesbaren Usernamen umgeschrieben wird.
Das habe ich dann mit
versucht und erhalte für $objUser.Value verschiedene Meldungen
exception calling "translate" with "1" argument(s): "some or all identity references could not be translated."
bzw.
new-object : exception calling ".ctor" with "1" argument(s): "value was invalid.
Das "lustige" ist, wenn ich anstatt $NewUserAD die SID eintrage, dann sucht er mir als Ergebnis von $objUser.Value den richtigen NEUEN Windowsuser heraus.
Wäre daher klasse, wenn mir hier jemand aufzeigen könnte wie das richtige gescripted aussieht, damit ich den Ordnerbesitz etc. wieder von "Administrators" auf den jeweiligen neuen Usernamen schieben kann.
Viele Grüße & Danke im Voraus
aktuell sitze ich an einer echten Nuss für mich...
Per Powershellscript soll das Umbenennen von AD Useraccounts automatisiert werden.
Also wenn eine Person heiratet, geschieden etc.
Die Änderungen sollen sowohl am AD-Objekt, den Stammdaten, als auch den Userbezogenen Verzeichnissen für Users und Profiles gemacht werden.
Funktionieren tut bereits die Umbenennung des AD-Objekts, die Änderung der relevanten Stammdaten im AD-Account als auch des Windowsusernamens.
Ebenfalls funktioniert den Users sowie Profiles Ordner vom alten Usernamen auf den neuen umzuschreiben, sowie den neuen Usernamen mit Vollzugriff zu hinterlegen. Alles natürlich nach Übernahme von Ordnerbesitz und Besitzübernahmen von Unterordner und Dateien durch "Administrators" per SetOwner als auch als auch takeown.
Meine Problematik besteht jetzt im "Zurückschieben" des Ordnerbesitzes des Hauptverzeichnisses als auch der Unterordner und Dateien. Denn nach Abschluss der Arbeiten soll der Owner natürlich nur der neue Username sein.
Takeown funktioniert hier ja leider nicht, da das ja nur mit Administrators funktioniert.
Dann habe ich folgendes versucht
$acl = Get-Acl $folder
$ar = New-Object System.Security.Principal.NTAccount("$NewUsername")
$acl.SetOwner($ar)
Set-Acl $folder $acl
was zu einer Meldung geführt hat "powershell exception calling set owner with 1 argument. Some or all enteties could not be found"
Dann hatte ich noch gelesen das man in diesem Fall über die SID den neuen User auslesen soll und diesen dann als Owner eintragen. Da dieser dann autom. in den normal lesbaren Usernamen umgeschrieben wird.
Das habe ich dann mit
$NewUserAD = Get-Aduser $NewUsername -properties * | select objectsid
# Give SID as input to .NET Framework Class
$SID = New-Object System.Security.Principal.SecurityIdentifier("$NewUserAD")
# Use Translate to find user from sid
$objUser = $SID.Translate([System.Security.Principal.NTAccount])
# Print the converted SID to username value
$objUser.Value
versucht und erhalte für $objUser.Value verschiedene Meldungen
exception calling "translate" with "1" argument(s): "some or all identity references could not be translated."
bzw.
new-object : exception calling ".ctor" with "1" argument(s): "value was invalid.
Das "lustige" ist, wenn ich anstatt $NewUserAD die SID eintrage, dann sucht er mir als Ergebnis von $objUser.Value den richtigen NEUEN Windowsuser heraus.
Wäre daher klasse, wenn mir hier jemand aufzeigen könnte wie das richtige gescripted aussieht, damit ich den Ordnerbesitz etc. wieder von "Administrators" auf den jeweiligen neuen Usernamen schieben kann.
Viele Grüße & Danke im Voraus
Please also mark the comments that contributed to the solution of the article
Content-Key: 6769505198
Url: https://administrator.de/contentid/6769505198
Printed on: June 2, 2024 at 23:06 o'clock
11 Comments
Latest comment
Hi,
Wurde hier schon mehrfach in unterschiedlichen Formen behandelt:
Änderung eines Benutzerkontos im AD und Exchange - neu anlegen oder umbenennen?
Benutzerkonto in AD umbenennen
Win 10 Profileinstellungen auf neues Profil übernehmen
Ist da was dabei?
Wurde hier schon mehrfach in unterschiedlichen Formen behandelt:
Änderung eines Benutzerkontos im AD und Exchange - neu anlegen oder umbenennen?
Benutzerkonto in AD umbenennen
Win 10 Profileinstellungen auf neues Profil übernehmen
Ist da was dabei?
Moin @Baktosh,
ähm, bitte was?
Wenn du einen bestehenden Windows-Benutzer lediglich umbenennen tust, dann musst du an dessen Berechtigung überhaupt nichts korrigieren, weil diese (bei Windows) nicht über den Usernamen selbst "verknüpft" werden, sondern über dessen SID. Und die wiederum bleibt immer gleich, egal wie oft man den entsprechenden Benutzer umbenennen tut.
Ausser man löscht beim Umbenennen das ursprüngliche Userobjekt mit dem alten Namen aus dem AD raus und erstellt mit dem neuen Namen ein neues, das ist jedoch im Sinne eines Umbenennens ein kompletter Unsinn.
Beste Grüsse aus BaWü
Alex
sowie den neuen Usernamen mit Vollzugriff zu hinterlegen. Alles natürlich nach Übernahme von Ordnerbesitz und Besitzübernahmen von Unterordner und Dateien durch "Administrators" per SetOwner als auch als auch takeown.
ähm, bitte was?
Wenn du einen bestehenden Windows-Benutzer lediglich umbenennen tust, dann musst du an dessen Berechtigung überhaupt nichts korrigieren, weil diese (bei Windows) nicht über den Usernamen selbst "verknüpft" werden, sondern über dessen SID. Und die wiederum bleibt immer gleich, egal wie oft man den entsprechenden Benutzer umbenennen tut.
Ausser man löscht beim Umbenennen das ursprüngliche Userobjekt mit dem alten Namen aus dem AD raus und erstellt mit dem neuen Namen ein neues, das ist jedoch im Sinne eines Umbenennens ein kompletter Unsinn.
Beste Grüsse aus BaWü
Alex
Zitat von @Baktosh:
Danke für deine Mühe, aber nein...
Ach was! Die 4 Artikel zu suchen hat mich etwa 15 Sekunden gekostet.Zitat von @mayho33:
Hi,
Wurde hier schon mehrfach in unterschiedlichen Formen behandelt:
Änderung eines Benutzerkontos im AD und Exchange - neu anlegen oder umbenennen?
Benutzerkonto in AD umbenennen
Win 10 Profileinstellungen auf neues Profil übernehmen
Ist da was dabei?
Hi,
Wurde hier schon mehrfach in unterschiedlichen Formen behandelt:
Änderung eines Benutzerkontos im AD und Exchange - neu anlegen oder umbenennen?
Benutzerkonto in AD umbenennen
Win 10 Profileinstellungen auf neues Profil übernehmen
Ist da was dabei?
Danke für deine Mühe, aber nein...
In den Freds wird ja nur jeweils ein / das mögliche Ablaufszenario beschrieben das für sinnvoll gehalten wird.
Und die Kombination aus allen ergeben wahrscheinlich 90% deiner Anforderungen. Du musst du natürlich noch selbst ein wenig recherchieren und adaptieren.Aber ich muss auf unseren Fileservern den Profiles als auch den Users Ordner, Homefolder / Roamingprofil etc weil Terminalserver, welche ja auch den Usernamen als Bezeichnung tragen ändern.
Kommt wohl aufs Konzept an mit dem das alles umgesetzt wurde. Wenn jeder Ordner und jedes Profil auf Fileserver, RoamingProfile, HomeFolder usw. vom AD-Objekt des jeweiligen Users abgeleitet wurde, dann sollte das Umbenennen des Ad-User eigentlich schon die halbe Miete sein.Und diese Umbenennung kann ich ja nur machen wenn ich auch Owner des jeweiligen Ordners bin.
Nein! Du brauchst "Ändern/Schreiben"-Rechte. Du musst nicht Owner sein.
Moin @Baktosh,
Ich rieche da glaube ich ein paar %username% in den Konfigs. 🤪
Geht am besten mit icacls.
icacls C:\Temp\CoKG /setowner mike.schulze /t /c
😉
Siehe auch.
https://learn.microsoft.com/de-de/windows-server/administration/windows- ...
Beste Grüsse aus BaWü
Alex
Aber ich muss auf unseren Fileservern den Profiles als auch den Users Ordner, Homefolder / Roamingprofil etc weil Terminalserver, welche ja auch den Usernamen als Bezeichnung tragen ändern. Und diese Umbenennung kann ich ja nur machen wenn ich auch Owner des jeweiligen Ordners bin.
Ich rieche da glaube ich ein paar %username% in den Konfigs. 🤪
Wie gesagt der Hinweg User -> Administrators funktioniert ohne Probleme. Bräuchte jetzt halt Unterstützung für den Rückweg Administrators -> User
Geht am besten mit icacls.
icacls C:\Temp\CoKG /setowner mike.schulze /t /c
😉
Siehe auch.
https://learn.microsoft.com/de-de/windows-server/administration/windows- ...
Beste Grüsse aus BaWü
Alex
Zitat von @Baktosh:
Besitzer des jeweiligen Ordners ist aber weiterhin "Administrators"
Noch Ideen hierzu, irgendwer?
Besitzer des jeweiligen Ordners ist aber weiterhin "Administrators"
Noch Ideen hierzu, irgendwer?
Mir ist zwar noch immer nicht klar warum du unbedingt den Besitzer ändern musst, sber du kannst "takeown.exe" nehmen.
https://learn.microsoft.com/de-de/windows-server/administration/windows- ...
Moin @Baktosh,
ich bin heute in Stress, daher muss ich mich kurz fassen.
Das kann, wenn ich das richtig sehe, so auch nicht funktionieren, weil du dir damit den Ast wegsägst auf dem du selber sitzt. 😬
Du hast dir die Zugriffsrechte auf die Daten verschafft, indem du deren Besitz übernommen hast, die verlierst du aber auch ganz schnell wieder, wenn du den Besitzer wieder änderst.
Du musst bevor du den Besitzer wieder auf den User wechselst, unbedingt den Administrator selbst explizit mit vollen Zugriffsrechten zu den Berechtigungen der entsprechenden Daten hinzufügen und anschliessend kannst du mit dem Administrator den Besitzer dieser Daten wieder auf einen anderen Benutzer umschreiben. 😉
So, jetzt muss ich aber weiterflitzen.
Beste Grüsse aus BaWü
Alex
Besitzer des jeweiligen Ordners ist aber weiterhin "Administrators"
Noch Ideen hierzu, irgendwer?
Noch Ideen hierzu, irgendwer?
ich bin heute in Stress, daher muss ich mich kurz fassen.
Das kann, wenn ich das richtig sehe, so auch nicht funktionieren, weil du dir damit den Ast wegsägst auf dem du selber sitzt. 😬
Du hast dir die Zugriffsrechte auf die Daten verschafft, indem du deren Besitz übernommen hast, die verlierst du aber auch ganz schnell wieder, wenn du den Besitzer wieder änderst.
Du musst bevor du den Besitzer wieder auf den User wechselst, unbedingt den Administrator selbst explizit mit vollen Zugriffsrechten zu den Berechtigungen der entsprechenden Daten hinzufügen und anschliessend kannst du mit dem Administrator den Besitzer dieser Daten wieder auf einen anderen Benutzer umschreiben. 😉
So, jetzt muss ich aber weiterflitzen.
Beste Grüsse aus BaWü
Alex
Jetzt habe ich doch glatt Bali gelesen 😅 Verdammt ich brauche ne Brille! 🤷♂️